{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# This allows multiple outputs from a single jupyter notebook cell:\n",
    "from IPython.core.interactiveshell import InteractiveShell\n",
    "InteractiveShell.ast_node_interactivity = \"all\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'1.0.3'"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import pandas as pd\n",
    "pd.__version__  # for the record"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(252, 9)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "      <th>UpperB</th>\n",
       "      <th>LowerB</th>\n",
       "      <th>PercentB</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2011-07-01</th>\n",
       "      <td>132.089996</td>\n",
       "      <td>134.100006</td>\n",
       "      <td>131.779999</td>\n",
       "      <td>133.919998</td>\n",
       "      <td>117.161659</td>\n",
       "      <td>202385700</td>\n",
       "      <td>132.373927</td>\n",
       "      <td>125.316073</td>\n",
       "      <td>1.219057</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-07-05</th>\n",
       "      <td>133.779999</td>\n",
       "      <td>134.080002</td>\n",
       "      <td>133.389999</td>\n",
       "      <td>133.809998</td>\n",
       "      <td>117.065437</td>\n",
       "      <td>165936000</td>\n",
       "      <td>133.254297</td>\n",
       "      <td>124.912703</td>\n",
       "      <td>1.066618</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-07-06</th>\n",
       "      <td>133.490005</td>\n",
       "      <td>134.139999</td>\n",
       "      <td>133.110001</td>\n",
       "      <td>133.970001</td>\n",
       "      <td>117.205429</td>\n",
       "      <td>143331600</td>\n",
       "      <td>134.040915</td>\n",
       "      <td>124.627085</td>\n",
       "      <td>0.992467</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  Open        High         Low       Close   Adj Close  \\\n",
       "Date                                                                     \n",
       "2011-07-01  132.089996  134.100006  131.779999  133.919998  117.161659   \n",
       "2011-07-05  133.779999  134.080002  133.389999  133.809998  117.065437   \n",
       "2011-07-06  133.490005  134.139999  133.110001  133.970001  117.205429   \n",
       "\n",
       "               Volume      UpperB      LowerB  PercentB  \n",
       "Date                                                     \n",
       "2011-07-01  202385700  132.373927  125.316073  1.219057  \n",
       "2011-07-05  165936000  133.254297  124.912703  1.066618  \n",
       "2011-07-06  143331600  134.040915  124.627085  0.992467  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "      <th>UpperB</th>\n",
       "      <th>LowerB</th>\n",
       "      <th>PercentB</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2012-06-27</th>\n",
       "      <td>132.419998</td>\n",
       "      <td>133.429993</td>\n",
       "      <td>131.970001</td>\n",
       "      <td>133.169998</td>\n",
       "      <td>118.980804</td>\n",
       "      <td>108088000</td>\n",
       "      <td>136.447962</td>\n",
       "      <td>128.140042</td>\n",
       "      <td>0.605441</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-06-28</th>\n",
       "      <td>132.289993</td>\n",
       "      <td>132.990005</td>\n",
       "      <td>131.279999</td>\n",
       "      <td>132.789993</td>\n",
       "      <td>118.641281</td>\n",
       "      <td>169242100</td>\n",
       "      <td>136.500761</td>\n",
       "      <td>128.219241</td>\n",
       "      <td>0.551922</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-06-29</th>\n",
       "      <td>135.199997</td>\n",
       "      <td>136.270004</td>\n",
       "      <td>134.850006</td>\n",
       "      <td>136.100006</td>\n",
       "      <td>121.598610</td>\n",
       "      <td>212250900</td>\n",
       "      <td>136.721010</td>\n",
       "      <td>128.792993</td>\n",
       "      <td>0.921670</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  Open        High         Low       Close   Adj Close  \\\n",
       "Date                                                                     \n",
       "2012-06-27  132.419998  133.429993  131.970001  133.169998  118.980804   \n",
       "2012-06-28  132.289993  132.990005  131.279999  132.789993  118.641281   \n",
       "2012-06-29  135.199997  136.270004  134.850006  136.100006  121.598610   \n",
       "\n",
       "               Volume      UpperB      LowerB  PercentB  \n",
       "Date                                                     \n",
       "2012-06-27  108088000  136.447962  128.140042  0.605441  \n",
       "2012-06-28  169242100  136.500761  128.219241  0.551922  \n",
       "2012-06-29  212250900  136.721010  128.792993  0.921670  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv('../data/SPY_20110701_20120630_Bollinger.csv',index_col=0,parse_dates=True)\n",
    "df.shape\n",
    "df.head(3)\n",
    "df.tail(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'0.12.5a4'"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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29Xr9Zg5cyY2bNiA4OBgq+VfffUV7r//fvTu3Ruvv/468vPz0djYiPvvvx+1tbVm627ZsgX79u0zu2VnZ7t+sOQTl0ejX8l1rptlwJS6UE23n5aRhWV5q2TZn6vlMS0DAyERkWNuB8OTJ08iODgY9913n83l2dnZCAoKQnV1tUvb3bZtGxoaGlBWVobu3btbLd+4cSN69+6N5cuXY8CAARgyZAiWLVsGvV6PHTt2mK176aWXolevXmY3y9ZNckxq7eGXKlmyPHfO292lngZepVtS4/v157mGRCQ0jy+JZy/4VVRUoKWlBWFhYS5tdxuM8WAAACAASURBVNSoUSgoKECPHj1sLn/66adRVFSEgIBfix4TEwMAaGhocGlf5Jxleau8/oVPYjIdTOIMta48InF1fkB3g6V0TI72x88SEYnO7WA4dOhQGAwGTJo0CVu3bsW3336L48eP4+DBg3j99dcxZcoU6HQ6XHnllS5tNz4+Hl26dLG7PCwszCo07t69G0DHZfqISD62go50WoE75+wpNQjD2/MDSi2nDH1EpHWB7j5x0qRJ2LdvH44fP45FixZZLTcYDNDpdJg4caJHBXTkxIkTePLJJ3HDDTfg+uuvN1tWWFiIzz77DNXV1YiOjkZOTg4yMzPNWhst6XQdN6VJ+1BjX3JR67XxBi3Whyecrcv0TOugk56ZhTdLNhv/lbZluj1729fpgLLiItSerrH5PMt1Tf/tjFQe023a27+tm6NyOxITG2vztXJUHq3xt8+J6Fgf4lG7TpTYj9vBcOTIkVi4cCHy8vLQ2tpqveHAQMyfPx+jRo3yqICd+fHHHzF58mRER0djxYoVxse7du2KXr16oa2tDUuWLIFOp8N7772HRYsWoba2Fg8++KDdbSbERSE8PFyxMtvan1aEBgcisY92yusOLdWHJ6S6LCwsRE5OjtvPt/zXcrmt582fOxPvbS+x+TxbnKmTn8+cxv7dbxv/tbfd6VMnWZV7/+63sX//frz88stuv8c7O15nj1NL/OVzohWsD/GoVSf19V1l36bbwRAA7rvvPtx8881466238M0336Curg7h4eFISkrCXXfdhX79+slVTisHDhzArFmzcPnll+Oll14yG6hyzTXXYN++fWbrDx06FKdOnUJ+fj6mTZuGoKAgm9utqNYjLMw66MpNp+t441RU62EwKL47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YPjBBx/giSeegE6ng8FgQFlZGQIDA6HT6fDxxx+brXv+/HksWrQI/fv3x+9//3uPCi23trY24/9/+qkWYWENiu9TpwMiurbgp59+gcGg+O7IAdaHeFgn4mGdiIX1IR6166Shod74f9Ms4wmPguG//vUv4/979uyJM2fOYNu2bQgMDERoaChuu+02xMbG4vTp09i5cyfq6uqwceNG4YJhZWWl8f8pyVd7sSRERERErqusrMSVV17p8XY8CoYHDx6ETqfDa6+9huHDh+PTTz/FxIkTodPp8MILL+Dmm282rnvvvfdi/Pjx+PLLL13ax4kTJ8y2Y2n58uVIT093+jn33XcfFi9e7FIZiIiIiPyBR8Hw3LlzCAkJwfDhwwEAI0aMQEhICJqbm3H99debrTt06FAEBwfjl19+cWkfvXv3xr59+6we//jjj/H444932vr4/PPP4+qrzVsAQ0NDrdaLj483/v+TL79XZZCMTgckxEWholrPLgABsD7EwzoRD+tELKwP8ahdJw0NDbju6oEAzLOMJzwKhsHBwWhoaEBtbS169eqFqqoqNDU1QafT4dtvvzULbUeOHEFzczO6d+/u0j66dOmCXr16mT3W2tqKl156CRMnTkS/fv3sPrd79+5Wz7W3D0lYWBjCwsJdKqM7dLqOATlhYa38QAuA9SEe1ol4WCdiYX2Ix5t1YpplPOFRMBwwYAD+85//4J577sHVV1+NL774Al26dEFQUBDmzJmDe+65B3FxcTh16hRKSkqg0+kwePBgjwv96quv4ty5c5g5c6bH2yIiIiKiDh4Fw3HjxuGrr77CyZMncfLkSQDAyJEjERMTg5KSErz88svGdQ0GA3Q6He677z6PCtzQ0ID169dj2rRpiIiI8GhbRERERPQrj4Lhvffeiy+//BLbtm0D0NG/vWTJEnTr1g2HDh3CoUOHjOsGBARg1qxZSElJ8ajAmzdvRnt7O+655x6H627fvh0rVqzA8ePHERUVhfT0dNx///0ICgqy+xydruOmNGkfauyLHGN9iId1Ih7WiVhYH+JRu06U2I/OYPC8F/zEiRM4d+4cBgwYgK5duwIA2tvbsXfvXpSXlyMsLAzJycmdng/orJSUFIwZMwZ//etf7a5z8uRJZGZmIjk5GePHj0dYWBj27duHNWvW4K677sLTTz9ttn59fb2x9fH8+fMID1f+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ro69e/fS3d1NVVUVGRkZJCUlXdHr1htNrp1CiPmo4JlTcnIyra2tREVFXfHzQCBAeHg4U1NTV+y00NHRQWFhofHGn6mpKYXCIIqPj6etrc34P5n97C0WizHgA5c+97CwML744gtsNpueBP4N3Z0zkpKS+OWXXxgaGuL9998nKysr1Ic0r6nXbS4KIeajgmdel4fC2c/f5/OxbNkyIiIijFBYVlbG+Pg4GzZsMH5f82+D7//XDVgslr9cN9DZ2cmBAwdCdaj/CaqqMxISEti9ezfJyclaLfYvUK/bXBRCzEkFz/wun6c+Pj6O1WplenqaJ554guHhYVwul7HfqlaGX3//tG6gublZ7dY/UGW9TGFhYagPYUFRr9tcFELMTQXP3BYvXsz4+DiBQICqqip++OEHPvzwQ224HyJaNzB3ulPFFNTrNheFEPNSwTOnVatWMTExQVFREX6/n48++kihMIS0bmDudLeKqajXbS4KIeajgmdONpuNCxcusGTJElwul/HucLVZoaF1A3NnmZ7d4VnEBD777DOee+45YmJi1Os2gW+++YbKykpWrlypEGISHo8Hh8PB5OSkCp7J9PX1kZOTo1BoEp9//rnWDcyBgqGYyuDgIPfeey8ZGRm89957amBDTCHEnFTwzE1tlvyXKRiK6ajXbS4KISIiC4eCoZiWQqGIiMi/S8FQRERERADQZnAiIiIiAigYioiIiMgMBUMRERERARQMRURERGSGgqGIiIiIAAqGIiIiIjJDwVBEREREAAVDEREREZmhYCgiIiIigIKhiIiIiMz4HwY0aekPAXTPAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 800x575 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import mplfinance as mpf\n",
    "mpf.__version__\n",
    "mpf.plot(df,volume=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "Timestamp = pd.Timestamp\n",
    "x = {'alines': ([[[Timestamp('2020-04-28 16:59:59.999000'), 7753.77], [Timestamp('2020-04-29 09:59:59.999000'), 7753.77]], [[Timestamp('2020-04-29 09:59:59.999000'), 7863.0], [Timestamp('2020-04-29 11:59:59.999000'), 7863.0]], [[Timestamp('2020-04-28 18:59:59.999000'), 7683.41], [Timestamp('2020-04-29 11:59:59.999000'), 7683.41]]], [[Timestamp('2020-04-28 17:59:59.999000'), 7764.1], [Timestamp('2020-04-28 19:59:59.999000'), 7665.21], [Timestamp('2020-04-29 03:59:59.999000'), 7770.0], [Timestamp('2020-04-29 06:59:59.999000'), 7710.05], [Timestamp('2020-04-29 09:59:59.999000'), 7874.75]])}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pprint"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'alines': ([[[Timestamp('2020-04-28 16:59:59.999000'), 7753.77],\n",
      "              [Timestamp('2020-04-29 09:59:59.999000'), 7753.77]],\n",
      "             [[Timestamp('2020-04-29 09:59:59.999000'), 7863.0],\n",
      "              [Timestamp('2020-04-29 11:59:59.999000'), 7863.0]],\n",
      "             [[Timestamp('2020-04-28 18:59:59.999000'), 7683.41],\n",
      "              [Timestamp('2020-04-29 11:59:59.999000'), 7683.41]]],\n",
      "            [[Timestamp('2020-04-28 17:59:59.999000'), 7764.1],\n",
      "             [Timestamp('2020-04-28 19:59:59.999000'), 7665.21],\n",
      "             [Timestamp('2020-04-29 03:59:59.999000'), 7770.0],\n",
      "             [Timestamp('2020-04-29 06:59:59.999000'), 7710.05],\n",
      "             [Timestamp('2020-04-29 09:59:59.999000'), 7874.75]])}\n"
     ]
    }
   ],
   "source": [
    "pprint.pprint(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{ 'alines': ( [ [ [Timestamp('2020-04-28 16:59:59.999000'), 7753.77],\n",
      "                  [Timestamp('2020-04-29 09:59:59.999000'), 7753.77]],\n",
      "                [ [Timestamp('2020-04-29 09:59:59.999000'), 7863.0],\n",
      "                  [Timestamp('2020-04-29 11:59:59.999000'), 7863.0]],\n",
      "                [ [Timestamp('2020-04-28 18:59:59.999000'), 7683.41],\n",
      "                  [Timestamp('2020-04-29 11:59:59.999000'), 7683.41]]],\n",
      "              [ [Timestamp('2020-04-28 17:59:59.999000'), 7764.1],\n",
      "                [Timestamp('2020-04-28 19:59:59.999000'), 7665.21],\n",
      "                [Timestamp('2020-04-29 03:59:59.999000'), 7770.0],\n",
      "                [Timestamp('2020-04-29 06:59:59.999000'), 7710.05],\n",
      "                [Timestamp('2020-04-29 09:59:59.999000'), 7874.75]])}\n"
     ]
    }
   ],
   "source": [
    "pprint.pprint(x,indent=2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "s = pprint.pformat(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'alines': ([[[Timestamp('2020-04-28 16:59:59.999000'), 7753.77],\n",
      "              [Timestamp('2020-04-29 09:59:59.999000'), 7753.77]],\n",
      "             [[Timestamp('2020-04-29 09:59:59.999000'), 7863.0],\n",
      "              [Timestamp('2020-04-29 11:59:59.999000'), 7863.0]],\n",
      "             [[Timestamp('2020-04-28 18:59:59.999000'), 7683.41],\n",
      "              [Timestamp('2020-04-29 11:59:59.999000'), 7683.41]]],\n",
      "            [[Timestamp('2020-04-28 17:59:59.999000'), 7764.1],\n",
      "             [Timestamp('2020-04-28 19:59:59.999000'), 7665.21],\n",
      "             [Timestamp('2020-04-29 03:59:59.999000'), 7770.0],\n",
      "             [Timestamp('2020-04-29 06:59:59.999000'), 7710.05],\n",
      "             [Timestamp('2020-04-29 09:59:59.999000'), 7874.75]])}\n"
     ]
    }
   ],
   "source": [
    "print(s)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\"{'alines':\""
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s[0:10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "y = (\n",
    "{'alines': \n",
    " (\n",
    "     [\n",
    "         [\n",
    "             [Timestamp('2020-04-28 16:59:59.999000'), 7753.77],\n",
    "             [Timestamp('2020-04-29 09:59:59.999000'), 7753.77]\n",
    "         ],\n",
    "         [\n",
    "             [Timestamp('2020-04-29 09:59:59.999000'), 7863.0],\n",
    "             [Timestamp('2020-04-29 11:59:59.999000'), 7863.0]\n",
    "         ],\n",
    "         [\n",
    "             [Timestamp('2020-04-28 18:59:59.999000'), 7683.41],\n",
    "             [Timestamp('2020-04-29 11:59:59.999000'), 7683.41]\n",
    "         ]\n",
    "    ],\n",
    "    [\n",
    "        [Timestamp('2020-04-28 17:59:59.999000'), 7764.1],\n",
    "        [Timestamp('2020-04-28 19:59:59.999000'), 7665.21],\n",
    "        [Timestamp('2020-04-29 03:59:59.999000'), 7770.0],\n",
    "        [Timestamp('2020-04-29 06:59:59.999000'), 7710.05],\n",
    "        [Timestamp('2020-04-29 09:59:59.999000'), 7874.75]\n",
    "    ]\n",
    ")\n",
    "})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x == y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "one = [[1,2],[3,4]]\n",
    "two = [[5,6],[7,8,9]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[1, 2], [3, 4], [5, 6], [7, 8, 9]]"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "one+two"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "one.append(two)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[1, 2], [3, 4], [[5, 6], [7, 8, 9]]]"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "one"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a = y['alines']\n",
    "len(a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "[[[Timestamp('2020-04-28 16:59:59.999000'), 7753.77],\n",
       "  [Timestamp('2020-04-29 09:59:59.999000'), 7753.77]],\n",
       " [[Timestamp('2020-04-29 09:59:59.999000'), 7863.0],\n",
       "  [Timestamp('2020-04-29 11:59:59.999000'), 7863.0]],\n",
       " [[Timestamp('2020-04-28 18:59:59.999000'), 7683.41],\n",
       "  [Timestamp('2020-04-29 11:59:59.999000'), 7683.41]]]"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "[[Timestamp('2020-04-28 17:59:59.999000'), 7764.1],\n",
       " [Timestamp('2020-04-28 19:59:59.999000'), 7665.21],\n",
       " [Timestamp('2020-04-29 03:59:59.999000'), 7770.0],\n",
       " [Timestamp('2020-04-29 06:59:59.999000'), 7710.05],\n",
       " [Timestamp('2020-04-29 09:59:59.999000'), 7874.75]]"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(a)\n",
    "a[0]\n",
    "a[1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "#z = [a[1]] + a[0]\n",
    "#z = a[0] + [a[1]]\n",
    "z = a[1]\n",
    "z.append(a[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[Timestamp('2020-04-28 17:59:59.999000'), 7764.1],\n",
       " [Timestamp('2020-04-28 19:59:59.999000'), 7665.21],\n",
       " [Timestamp('2020-04-29 03:59:59.999000'), 7770.0],\n",
       " [Timestamp('2020-04-29 06:59:59.999000'), 7710.05],\n",
       " [Timestamp('2020-04-29 09:59:59.999000'), 7874.75],\n",
       " [[[Timestamp('2020-04-28 16:59:59.999000'), 7753.77],\n",
       "   [Timestamp('2020-04-29 09:59:59.999000'), 7753.77]],\n",
       "  [[Timestamp('2020-04-29 09:59:59.999000'), 7863.0],\n",
       "   [Timestamp('2020-04-29 11:59:59.999000'), 7863.0]],\n",
       "  [[Timestamp('2020-04-28 18:59:59.999000'), 7683.41],\n",
       "   [Timestamp('2020-04-29 11:59:59.999000'), 7683.41]]]]"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "z"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "      <th>UpperB</th>\n",
       "      <th>LowerB</th>\n",
       "      <th>PercentB</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2011-09-13</th>\n",
       "      <td>117.050003</td>\n",
       "      <td>118.180000</td>\n",
       "      <td>116.220001</td>\n",
       "      <td>117.739998</td>\n",
       "      <td>103.006386</td>\n",
       "      <td>272514700</td>\n",
       "      <td>123.438723</td>\n",
       "      <td>112.422277</td>\n",
       "      <td>0.482708</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-09-14</th>\n",
       "      <td>118.339996</td>\n",
       "      <td>120.800003</td>\n",
       "      <td>116.720001</td>\n",
       "      <td>119.370003</td>\n",
       "      <td>104.432426</td>\n",
       "      <td>319389500</td>\n",
       "      <td>123.414633</td>\n",
       "      <td>112.424367</td>\n",
       "      <td>0.631981</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-09-15</th>\n",
       "      <td>120.650002</td>\n",
       "      <td>121.470001</td>\n",
       "      <td>119.400002</td>\n",
       "      <td>121.430000</td>\n",
       "      <td>106.234634</td>\n",
       "      <td>326777200</td>\n",
       "      <td>123.674353</td>\n",
       "      <td>112.340648</td>\n",
       "      <td>0.801975</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-09-16</th>\n",
       "      <td>121.290001</td>\n",
       "      <td>121.970001</td>\n",
       "      <td>120.320000</td>\n",
       "      <td>121.519997</td>\n",
       "      <td>106.863403</td>\n",
       "      <td>284528300</td>\n",
       "      <td>123.980997</td>\n",
       "      <td>112.735003</td>\n",
       "      <td>0.781167</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-09-19</th>\n",
       "      <td>119.529999</td>\n",
       "      <td>120.930000</td>\n",
       "      <td>118.720001</td>\n",
       "      <td>120.309998</td>\n",
       "      <td>105.799347</td>\n",
       "      <td>241517000</td>\n",
       "      <td>123.733267</td>\n",
       "      <td>113.749733</td>\n",
       "      <td>0.657108</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-09-20</th>\n",
       "      <td>120.820000</td>\n",
       "      <td>121.989998</td>\n",
       "      <td>120.010002</td>\n",
       "      <td>120.169998</td>\n",
       "      <td>105.676231</td>\n",
       "      <td>218932200</td>\n",
       "      <td>123.255558</td>\n",
       "      <td>114.971441</td>\n",
       "      <td>0.627533</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-09-21</th>\n",
       "      <td>120.230003</td>\n",
       "      <td>120.599998</td>\n",
       "      <td>116.440002</td>\n",
       "      <td>116.629997</td>\n",
       "      <td>102.563187</td>\n",
       "      <td>316251300</td>\n",
       "      <td>123.240037</td>\n",
       "      <td>115.005962</td>\n",
       "      <td>0.197233</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-09-22</th>\n",
       "      <td>113.250000</td>\n",
       "      <td>114.209999</td>\n",
       "      <td>111.300003</td>\n",
       "      <td>112.860001</td>\n",
       "      <td>99.247871</td>\n",
       "      <td>513911300</td>\n",
       "      <td>123.831112</td>\n",
       "      <td>113.892887</td>\n",
       "      <td>-0.103931</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-09-23</th>\n",
       "      <td>112.110001</td>\n",
       "      <td>114.160004</td>\n",
       "      <td>112.019997</td>\n",
       "      <td>113.540001</td>\n",
       "      <td>99.845856</td>\n",
       "      <td>307242500</td>\n",
       "      <td>124.126148</td>\n",
       "      <td>113.323851</td>\n",
       "      <td>0.020010</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-09-26</th>\n",
       "      <td>114.610001</td>\n",
       "      <td>116.400002</td>\n",
       "      <td>112.980003</td>\n",
       "      <td>116.239998</td>\n",
       "      <td>102.220230</td>\n",
       "      <td>260673700</td>\n",
       "      <td>124.144945</td>\n",
       "      <td>113.132054</td>\n",
       "      <td>0.282210</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  Open        High         Low       Close   Adj Close  \\\n",
       "Date                                                                     \n",
       "2011-09-13  117.050003  118.180000  116.220001  117.739998  103.006386   \n",
       "2011-09-14  118.339996  120.800003  116.720001  119.370003  104.432426   \n",
       "2011-09-15  120.650002  121.470001  119.400002  121.430000  106.234634   \n",
       "2011-09-16  121.290001  121.970001  120.320000  121.519997  106.863403   \n",
       "2011-09-19  119.529999  120.930000  118.720001  120.309998  105.799347   \n",
       "2011-09-20  120.820000  121.989998  120.010002  120.169998  105.676231   \n",
       "2011-09-21  120.230003  120.599998  116.440002  116.629997  102.563187   \n",
       "2011-09-22  113.250000  114.209999  111.300003  112.860001   99.247871   \n",
       "2011-09-23  112.110001  114.160004  112.019997  113.540001   99.845856   \n",
       "2011-09-26  114.610001  116.400002  112.980003  116.239998  102.220230   \n",
       "\n",
       "               Volume      UpperB      LowerB  PercentB  \n",
       "Date                                                     \n",
       "2011-09-13  272514700  123.438723  112.422277  0.482708  \n",
       "2011-09-14  319389500  123.414633  112.424367  0.631981  \n",
       "2011-09-15  326777200  123.674353  112.340648  0.801975  \n",
       "2011-09-16  284528300  123.980997  112.735003  0.781167  \n",
       "2011-09-19  241517000  123.733267  113.749733  0.657108  \n",
       "2011-09-20  218932200  123.255558  114.971441  0.627533  \n",
       "2011-09-21  316251300  123.240037  115.005962  0.197233  \n",
       "2011-09-22  513911300  123.831112  113.892887 -0.103931  \n",
       "2011-09-23  307242500  124.126148  113.323851  0.020010  \n",
       "2011-09-26  260673700  124.144945  113.132054  0.282210  "
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Open</th>\n",
       "      <th>High</th>\n",
       "      <th>Low</th>\n",
       "      <th>Close</th>\n",
       "      <th>Adj Close</th>\n",
       "      <th>Volume</th>\n",
       "      <th>UpperB</th>\n",
       "      <th>LowerB</th>\n",
       "      <th>PercentB</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2011-11-04</th>\n",
       "      <td>125.230003</td>\n",
       "      <td>125.699997</td>\n",
       "      <td>124.010002</td>\n",
       "      <td>125.480003</td>\n",
       "      <td>110.345772</td>\n",
       "      <td>249401600</td>\n",
       "      <td>128.770481</td>\n",
       "      <td>117.826522</td>\n",
       "      <td>0.699334</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-11-07</th>\n",
       "      <td>125.389999</td>\n",
       "      <td>126.389999</td>\n",
       "      <td>124.199997</td>\n",
       "      <td>126.260002</td>\n",
       "      <td>111.031700</td>\n",
       "      <td>196617200</td>\n",
       "      <td>128.962442</td>\n",
       "      <td>118.302560</td>\n",
       "      <td>0.746485</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  Open        High         Low       Close   Adj Close  \\\n",
       "Date                                                                     \n",
       "2011-11-04  125.230003  125.699997  124.010002  125.480003  110.345772   \n",
       "2011-11-07  125.389999  126.389999  124.199997  126.260002  111.031700   \n",
       "\n",
       "               Volume      UpperB      LowerB  PercentB  \n",
       "Date                                                     \n",
       "2011-11-04  249401600  128.770481  117.826522  0.699334  \n",
       "2011-11-07  196617200  128.962442  118.302560  0.746485  "
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "adf = df[50:90]\n",
    "adf.head(10)\n",
    "adf.tail(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "ename": "TypeError",
     "evalue": "kwarg \"alines\" validator returned False for value: \"[[Timestamp('2020-04-28 17:59:59.999000'), 7764.1], [Timestamp('2020-04-28 19:59:59.999000'), 7665.21], [Timestamp('2020-04-29 03:59:59.999000'), 7770.0], [Timestamp('2020-04-29 06:59:59.999000'), 7710.05], [Timestamp('2020-04-29 09:59:59.999000'), 7874.75], [[[Timestamp('2020-04-28 16:59:59.999000'), 7753.77], [Timestamp('2020-04-29 09:59:59.999000'), 7753.77]], [[Timestamp('2020-04-29 09:59:59.999000'), 7863.0], [Timestamp('2020-04-29 11:59:59.999000'), 7863.0]], [[Timestamp('2020-04-28 18:59:59.999000'), 7683.41], [Timestamp('2020-04-29 11:59:59.999000'), 7683.41]]]]\"\n    'Validator'   : lambda value: _alines_validator(value) },",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-23-7a1240466a10>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mmpf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0madf\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0malines\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mz\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;32m~/code/mplfinance/src/mplfinance/plotting.py\u001b[0m in \u001b[0;36mplot\u001b[0;34m(data, **kwargs)\u001b[0m\n\u001b[1;32m    244\u001b[0m     \"\"\"\n\u001b[1;32m    245\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 246\u001b[0;31m     \u001b[0mconfig\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_process_kwargs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_valid_plot_kwargs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    247\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    248\u001b[0m     \u001b[0mdates\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mopens\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mhighs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mlows\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mcloses\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mvolumes\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_check_and_prepare_data\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconfig\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/code/mplfinance/src/mplfinance/_arg_validators.py\u001b[0m in \u001b[0;36m_process_kwargs\u001b[0;34m(kwargs, vkwargs)\u001b[0m\n\u001b[1;32m    230\u001b[0m                 \u001b[0;32mimport\u001b[0m \u001b[0minspect\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    231\u001b[0m                 \u001b[0mv\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0minspect\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgetsource\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvkwargs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'Validator'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstrip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 232\u001b[0;31m                 \u001b[0;32mraise\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'kwarg \"'\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;34m'\" validator returned False for value: \"'\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0mstr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;34m'\"\\n    '\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0mv\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    233\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    234\u001b[0m        \u001b[0;31m# ---------------------------------------------------------------\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mTypeError\u001b[0m: kwarg \"alines\" validator returned False for value: \"[[Timestamp('2020-04-28 17:59:59.999000'), 7764.1], [Timestamp('2020-04-28 19:59:59.999000'), 7665.21], [Timestamp('2020-04-29 03:59:59.999000'), 7770.0], [Timestamp('2020-04-29 06:59:59.999000'), 7710.05], [Timestamp('2020-04-29 09:59:59.999000'), 7874.75], [[[Timestamp('2020-04-28 16:59:59.999000'), 7753.77], [Timestamp('2020-04-29 09:59:59.999000'), 7753.77]], [[Timestamp('2020-04-29 09:59:59.999000'), 7863.0], [Timestamp('2020-04-29 11:59:59.999000'), 7863.0]], [[Timestamp('2020-04-28 18:59:59.999000'), 7683.41], [Timestamp('2020-04-29 11:59:59.999000'), 7683.41]]]]\"\n    'Validator'   : lambda value: _alines_validator(value) },"
     ]
    }
   ],
   "source": [
    "mpf.plot(adf,alines=z)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "#sop   = [('2011-09-13',7800),('2011-09-14',7801)]\n",
    "#sosop = [[('2011-09-15',7802),('2011-09-16',7803)],[('2011-09-19',7804),('2011-09-32',7805)]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "sop   = [('x1','y1'),('x2','y2')]\n",
    "sosop = [[('x3','y3'),('x4','y4')],[('x5','y5'),('x6','y6')]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('x1', 'y1'),\n",
       " ('x2', 'y2'),\n",
       " [('x3', 'y3'), ('x4', 'y4')],\n",
       " [('x5', 'y5'), ('x6', 'y6')]]"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sop + sosop"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[('x3', 'y3'), ('x4', 'y4')],\n",
       " [('x5', 'y5'), ('x6', 'y6')],\n",
       " ('x1', 'y1'),\n",
       " ('x2', 'y2')]"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sosop + sop"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[('x3', 'y3'), ('x4', 'y4')],\n",
       " [('x5', 'y5'), ('x6', 'y6')],\n",
       " [('x1', 'y1'), ('x2', 'y2')]]"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sosop + [sop]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[('x1', 'y1'), ('x2', 'y2')],\n",
       " [('x3', 'y3'), ('x4', 'y4')],\n",
       " [('x5', 'y5'), ('x6', 'y6')]]"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "[sop] + sosop"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[('x3', 'y3'), ('x4', 'y4')],\n",
       " [('x5', 'y5'), ('x6', 'y6')],\n",
       " [('x1', 'y1'), ('x2', 'y2')]]"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "zsosop = sosop.copy()\n",
    "zsosop.append(sop)\n",
    "zsosop"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('x1', 'y1'),\n",
       " ('x2', 'y2'),\n",
       " [[('x3', 'y3'), ('x4', 'y4')], [('x5', 'y5'), ('x6', 'y6')]]]"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "zsop = sop.copy()\n",
    "zsop.append(sosop)\n",
    "zsop"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('x1', 'y1'), ('x2', 'y2')]"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sop"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "from mplfinance._arg_validators import _alines_validator as valid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "8"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "8"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = ['2011-09-13','2011-09-14','2011-09-15','2011-09-16','2011-09-19','2011-09-20','2011-09-21','2011-09-22']\n",
    "y = [120,121,122,123,124,125,126,127]\n",
    "len(x)\n",
    "len(y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('2011-09-13', 120), ('2011-09-14', 121), ('2011-09-15', 122)]"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sop = [(x[0],y[0]),(x[1],y[1]),(x[2],y[2])]\n",
    "sop"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[('2011-09-16', 123), ('2011-09-19', 124), ('2011-09-20', 125)],\n",
       " [('2011-09-21', 126), ('2011-09-22', 127)]]"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sosop = [[(x[3],y[3]),(x[4],y[4]),(x[5],y[5])],\n",
    "         [(x[6],y[6]),(x[7],y[7])]\n",
    "        ]\n",
    "sosop"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "valid(sop)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "valid(sosop)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "valid(sop+sosop)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "valid([sop]+sosop)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('2011-09-13', 120),\n",
       " ('2011-09-14', 121),\n",
       " ('2011-09-15', 122),\n",
       " [[('2011-09-16', 123), ('2011-09-19', 124), ('2011-09-20', 125)],\n",
       "  [('2011-09-21', 126), ('2011-09-22', 127)]]]"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "zsop = sop.copy()\n",
    "zsop.append(sosop)\n",
    "zsop\n",
    "valid(zsop)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[('2011-09-16', 123), ('2011-09-19', 124), ('2011-09-20', 125)],\n",
       " [('2011-09-21', 126), ('2011-09-22', 127)],\n",
       " [('2011-09-13', 120), ('2011-09-14', 121), ('2011-09-15', 122)]]"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "zsosop = sosop.copy()\n",
    "zsosop.append(sop)\n",
    "zsosop\n",
    "valid(zsosop)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
